package com.ruoyi.face.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonProperty;

import java.util.Date;

public class Record {

    @JsonProperty(value = "json_flag")
    private String jsonFlag;

    @JsonProperty(value = "blur")
    private Double blur;

    @JsonProperty(value = "device_ip")
    private String deviceIp;

    @JsonProperty(value = "device_token")
    private String deviceToken;

    @JsonProperty(value = "device_sn")
    private String deviceSn;

    @JsonProperty(value = "liveness_score")
    private Integer livenessScore;

    //活体结果 0：非活体攻击；1：活体；2：未检测
    @JsonProperty(value = "liveness_type")
    private Integer livenessType;

    //通行类型 0：未通行；1：通行 2：刷脸通过密码错误（复核认证失败）
    @JsonProperty(value = "pass_type")
    private Integer passType;

    @JsonProperty(value = "person_code")
    private String personCode;

    @JsonProperty(value = "person_id")
    private String personId;

    @JsonProperty(value = "person_name")
    private String personName;

    @JsonProperty(value = "card_number")
    private String cardNumber;

    @JsonProperty(value = "qr_code")
    private String qrCode;

    @JsonProperty(value = "photo")
    private String photo;

    @JsonProperty(value = "recognition_score")
    private Integer recognitionScore;

    //识别人员类型 1：员工；2：访客；3：黑名单；4：陌生人；5：未识别
    @JsonProperty(value = "recognition_type")
    private Integer recognitionType;

    @JsonProperty(value = "timestamp")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date timestamp;

    //验证类型 0：人脸；1：刷卡；2：人脸及刷卡；3：人脸及密码; 4：远程开门；5：二维码扫码开门；9：防疫测温；10：人证核验
    @JsonProperty(value = "verification_mode")
    private Integer verificationMode;

    @JsonProperty(value = "temperature")
    private Double temperature;

    @JsonProperty(value = "temperature_type")
    private Integer temperatureType;

    @JsonProperty(value = "mask_type")
    private Integer maskType;

    @JsonProperty(value = "healthy_state")
    private Integer healthyState;

    @JsonProperty(value = "idcard_number")
    private String idcardNumber;

    // 是否需要服务器鉴权，0：不需要，已鉴权（通行记录），1：需要，设别等待服务器返回鉴权结果
    @JsonProperty(value = "server_verify")
    private Integer serverVerify;

    // 通行记录鉴权类型，0：设备本地鉴权，1：服务器鉴权
    @JsonProperty(value = "verification_type")
    private Integer verificationType;

    public String getJsonFlag() {
        return jsonFlag;
    }

    public void setJsonFlag(String jsonFlag) {
        this.jsonFlag = jsonFlag;
    }

    public Double getBlur() {
        return blur;
    }

    public void setBlur(Double blur) {
        this.blur = blur;
    }

    public String getDeviceIp() {
        return deviceIp;
    }

    public void setDeviceIp(String deviceIp) {
        this.deviceIp = deviceIp;
    }

    public String getDeviceToken() {
        return deviceToken;
    }

    public void setDeviceToken(String deviceToken) {
        this.deviceToken = deviceToken;
    }

    public String getDeviceSn() {
        return deviceSn;
    }

    public void setDeviceSn(String deviceSn) {
        this.deviceSn = deviceSn;
    }

    public Integer getLivenessScore() {
        return livenessScore;
    }

    public void setLivenessScore(Integer livenessScore) {
        this.livenessScore = livenessScore;
    }

    public Integer getLivenessType() {
        return livenessType;
    }

    public void setLivenessType(Integer livenessType) {
        this.livenessType = livenessType;
    }

    public Integer getPassType() {
        return passType;
    }

    public void setPassType(Integer passType) {
        this.passType = passType;
    }

    public String getPersonCode() {
        return personCode;
    }

    public void setPersonCode(String personCode) {
        this.personCode = personCode;
    }

    public String getPersonId() {
        return personId;
    }

    public void setPersonId(String personId) {
        this.personId = personId;
    }

    public String getPersonName() {
        return personName;
    }

    public void setPersonName(String personName) {
        this.personName = personName;
    }

    public String getCardNumber() {
        return cardNumber;
    }

    public void setCardNumber(String cardNumber) {
        this.cardNumber = cardNumber;
    }

    public String getQrCode() {
        return qrCode;
    }

    public void setQrCode(String qrCode) {
        this.qrCode = qrCode;
    }

    public String getPhoto() {
        return photo;
    }

    public void setPhoto(String photo) {
        this.photo = photo;
    }

    public Integer getRecognitionScore() {
        return recognitionScore;
    }

    public void setRecognitionScore(Integer recognitionScore) {
        this.recognitionScore = recognitionScore;
    }

    public Integer getRecognitionType() {
        return recognitionType;
    }

    public void setRecognitionType(Integer recognitionType) {
        this.recognitionType = recognitionType;
    }

    public Date getTimestamp() {
        return timestamp;
    }

    public void setTimestamp(Date timestamp) {
        this.timestamp = timestamp;
    }

    public Integer getVerificationMode() {
        return verificationMode;
    }

    public void setVerificationMode(Integer verificationMode) {
        this.verificationMode = verificationMode;
    }

    public Double getTemperature() {
        return temperature;
    }

    public void setTemperature(Double temperature) {
        this.temperature = temperature;
    }

    public Integer getTemperatureType() {
        return temperatureType;
    }

    public void setTemperatureType(Integer temperatureType) {
        this.temperatureType = temperatureType;
    }

    public Integer getMaskType() {
        return maskType;
    }

    public void setMaskType(Integer maskType) {
        this.maskType = maskType;
    }

    public Integer getHealthyState() {
        return healthyState;
    }

    public void setHealthyState(Integer healthyState) {
        this.healthyState = healthyState;
    }

    public String getIdcardNumber() {
        return idcardNumber;
    }

    public void setIdcardNumber(String idcardNumber) {
        this.idcardNumber = idcardNumber;
    }

    public Integer getServerVerify() {
        return serverVerify;
    }

    public void setServerVerify(Integer serverVerify) {
        this.serverVerify = serverVerify;
    }

    public Integer getVerificationType() {
        return verificationType;
    }

    public void setVerificationType(Integer verificationType) {
        this.verificationType = verificationType;
    }

    @Override
    public String toString() {
        return "Record{" +
                "jsonFlag='" + jsonFlag + '\'' +
                ", blur=" + blur +
                ", deviceIp='" + deviceIp + '\'' +
                ", deviceToken='" + deviceToken + '\'' +
                ", deviceSn='" + deviceSn + '\'' +
                ", livenessScore=" + livenessScore +
                ", livenessType=" + livenessType +
                ", passType=" + passType +
                ", personCode='" + personCode + '\'' +
                ", personId='" + personId + '\'' +
                ", personName='" + personName + '\'' +
                ", cardNumber='" + cardNumber + '\'' +
                ", qrCode='" + qrCode + '\'' +
                ", recognitionScore=" + recognitionScore +
                ", recognitionType=" + recognitionType +
                ", timestamp=" + timestamp +
                ", verificationMode=" + verificationMode +
                ", temperature=" + temperature +
                ", temperatureType=" + temperatureType +
                ", maskType=" + maskType +
                ", healthyState=" + healthyState +
                ", idcardNumber='" + idcardNumber + '\'' +
                ", serverVerify=" + serverVerify +
                ", verificationType=" + verificationType +
                '}';
    }
}
